The present invention relates generally to the field of information security, and more particularly to a Completely Automated Public Turing Test to Tell Computers and Humans Apart (CAPTCHA) program for authenticating an interaction occurring with a human and denying access to another computer or a software robot.
A CAPTCHA is a program that protects Websites against automated programs (bots) by generating and grading tests that humans can pass, but computer programs either cannot pass or have difficulty passing. One common implementation is a CAPTCHA comprised of one or more ordered strings of characters, sometimes separated by a space, represented within one or more images. Within the one or more images, the characters may be manipulated using various methods to distort the appearance of the characters. Humans may be able to read, or otherwise recognize, such distorted characters, but a computer program may not. In such an implementation, a user's response is typically an ordered string of characters that, when received, are tested for matches on a one-for-one basis to the CAPTCHA characters.
A CAPTCHA is sometimes referred to as a reverse Turing test, as it is the computer testing a human and not the other way around. A CAPTCHA oftentimes acts as a security mechanism by requiring a correct answer to a question, which, theoretically, only a human can answer better than a random guess. CAPTCHA's are useful for several applications, including: preventing comment spam in blogs, protecting Website registration, protecting e-mail addresses from Web scrapers, preventing on-line polls from being biased by responses from non-human sources, preventing dictionary attacks on password systems, and even preventing worms and spam in e-mail.